Apparatus and method for application testing of embedded system

ABSTRACT

Provided is to an apparatus for application testing of an embedded system which can cross-develop an application program installed in the embedded system regardless of the type of a target system. A virtual environment for testing the application program adopted in the target system is constructed on the basis of information inputted through a user interface and the application program is tested by configuring a virtual target system in the constructed virtual environment. According to the present invention, the application program adopted in the target system can be developed and tested without constructing a cross-development environment for each target system in an environment in which various kinds of embedded systems are developed.

RELATED APPLICATIONS

The present application claims priority to Korean Patent ApplicationSerial Number 10-2008-0123471, filed on Dec. 5, 2008 and Korean PatentApplication Serial Number 10-2009-041124, filed on May 12, 2009, theentirety of which is hereby incorporated by references.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an apparatus and a method forapplication testing of an embedded system, and more particularly, to anapparatus and a method for application testing for cross-developing anapplication program installed in an embedded system regardless of a typeof a target system and applying a developed environment to acorresponding target system.

2. Description of the Related Art

An embedded system is designed to perform a predetermined response orprocess with respect to user or external input unlike a general computersystem. Further, the embedded system cannot directly develop a usedapplication program and should use an application program developed inanother computer system.

Since most of the embedded systems low-cost small systems unlike thegeneral computer system, a memory adopted in the embedded system issmall in size, slow in speed, and small in capacity. Therefore, sinceworks such as development of the application program and a test in theembedded system cannot be performed, a new computer system is requiredto develop the application program adopted in the embedded system.

However, since the embedded system has only necessary functions, anapplication program required for various embedded systems in one commondevelopment environment cannot be developed. Accordingly, in order todevelop the application program in the embedded system, each embeddedsystem should have a development environment for developing theapplication program. Consequently, much cost is incurred, and economicaland temporal costs of requiring a knowledge of various systems to adeveloper, etc. are required.

In general, a process of developing the application program in a hostsystem is performed in the following sequence.

First, the developer prepares the application program in the hostsystem. Second, the host system creates an applicable program which canexecute the prepared application program by using a cross-developmentenvironment suitable for a target system. Third, the host systemtransmits the created application program to the target system. Fourth,the transmitted application program is executed in the target system.Fifth, when the application program is tested in the target system, thedeveloped application program is tested by separately performing thetest program. Sixth, when an error occurs, the application program ismodified in the host system. Seventh, the steps starting from the secondstep is repeated until the application program is perfectly developed.

Therefore, the process of developing the application program requiredfor the embedded system is performed in a complex manner. Further, whenthe target system is changed, the cross-development environment shouldbe replaced by an environment suitable for the changed target system andinstalled and when various kinds of embedded systems are developed, botha development environment and a target system that are suitable for eachembedded system should be provided and administrated.

Therefore, it is very difficult to develop various embedded systems atthe same time by such a method and as a result, a technology which canfind the resultant problem is strongly required.

SUMMARY OF THE INVENTION

In order to solve the above-mentioned problem, an object of the presentinvention is to provide an apparatus and a method for applicationtesting of an embedded system which can develop an application programthat can be driven in the embedded system and test the developedapplication program.

Further, another object of the present invention is to provide anapparatus and a method for application testing of an embedded systemwhich do not construct cross-development environments for target systemsin an environment in which various kinds of embedded systems aredeveloped and automatically cross-develop and test an applicationprogram used for a target system.

In order to achieve the above-mentioned objects, an apparatus forapplication testing of an embedded system according to an embodiment ofthe present invention includes: a user interface; a virtualcross-development environment manager that constructs a virtualenvironment for testing an application program can be adopted in atarget system on the basis of information inputted through the userinterface; and a virtual target environment manager that configure avirtual target system corresponding to the target system in the virtualenvironment constructed by the virtual cross-development environmentmanager and verifies whether or not an error occurs in an applicationprogram by executing the corresponding application program on thevirtual target system.

The virtual cross-development environment manager constructs a pluralityof virtual environments corresponding to a plurality of target systems.

The virtual cross-development environment manager includes anapplication program creator that creates the application program in thevirtual environment by using a source of the application programinputted through the user interface.

The virtual cross-development environment manager further includes anapplication program tester that outputs a test result of the applicationprogram and controls to perform an operation corresponding to the testresult.

The virtual target environment manager includes an emulator thatemulates the application program created by the virtualcross-development environment manager in the virtual target system.

The virtual target environment manager verifies whether or not the erroroccurs in the application program executed in the emulator on the basisof test information of the application program inputted through the userinterface.

The test information of the application program includes an input valueinputted while executing the application program and a result valuecorresponding to the input value.

The apparatus for application testing of an embedded system furtherincludes an information storage that stores environment settinginformation of the target system and information on the applicationprogram.

Meanwhile, in order to achieve the above-mentioned objects, a method forapplication testing of an embedded system according to anotherembodiment of the present invention includes: receiving information on atarget system; constructing a virtual environment for testing anapplication program to be adopted in the corresponding target system onthe basis of the inputted information on the target system; setting avirtual target system environment corresponding to the target system inthe virtual environment and executing the application program in thevirtual target system environment; and verifying whether or not an erroroccurs in the application program in accordance with an execution resultat the executing the application program.

In constructing the virtual environment, a plurality of virtualenvironments corresponding to target systems are constructed.

The method for application testing of an embedded system furtherincludes creating the application program in the virtual environment byreceiving a source of the application program adopted in the targetsystem.

The method for application testing of an embedded system furtherincludes receiving test information of the application program, whereinin verifying whether or not the error occurs in the application program,it is determined whether or not the error occurs in the correspondingapplication program by comparing the execution result of the applicationprogram and the test information of the application program with eachother.

The test information of the application program includes an input valueinputted while executing the application program and a result valuecorresponding to the input value.

The method for application testing of an embedded system furtherincludes modifying the source of the application program when the erroroccurs in the application program based on the verification result atverifying whether or not the error occurs in the application program.

The method for application testing of an embedded system furtherincludes reverifying whether or not the error occurs in an applicationprogram created by adopting a source of the application program modifiedat modifying the source of the application program.

The method for application testing of an embedded system furtherincludes transmitting the corresponding application program to thetarget system when no error occurs in the application program from theverification result at verifying whether or not the error occurs in theapplication program.

According to an embodiment of the present invention, a user can developan application program in a corresponding target system can be adoptedwithout constructing an environment for each target category which isadopted in various kinds of embedded systems and the developedapplication program can also be tested before being actually adopted inthe target system.

Further, according to the embodiment of the present invention, even whenan error occurs in the developed application program, the applicationprogram can be easily modified. In addition, it is possible to easilyadopt the finally developed application program in the target system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a configuration of a system in which anembodiment of the present invention is adopted;

FIG. 2 is a block diagram illustrating a configuration of an apparatusfor application testing of an embedded system according to an embodimentof the present invention;

FIG. 3 is a block diagram illustrating a configuration of a virtualcross-development environment manager according to an embodiment of thepresent invention;

FIG. 4 is a block diagram illustrating a configuration of a virtualtarget environment manager according to an embodiment of the presentinvention; and

FIGS. 5 to 6 are flowcharts illustrating an operational flow of a methodfor application testing of an embedded system according to an embodimentof the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, embodiments of the present invention will be described indetail with reference to the accompanying drawings.

FIG. 1 is a diagram illustrating a configuration of a system fordeveloping and testing an application program of an embedded systemaccording to an embodiment of the present invention.

As shown in FIG. 1, the application testing apparatus of an embeddedsystem includes a host system 1 that develops an embedded applicationprogram and a target system 2 in which the application program developedin the host system 1 is actually adopted.

The host system 1 constructs a virtual cross-development environmentsuitable for the target system 2 which will be adopted in the embeddedsystem. At this time, the host system 1 develops an application programsuitable for the target system 2 in the virtual cross-developmentenvironment. Further, the host system 1 establishes a virtual targetsystem environment in which a corresponding application program willadopt for actually testing the developed application program.Accordingly, the host system 1 can predict an operation at the time ofadopting the application program in the actual target system 2 bytesting the application program developed in the virtual target systemenvironment.

That is, the application testing apparatus of the embedded system isimplemented in the host system 1. A detailed description thereof will beperformed with reference to FIGS. 2 and 4.

The host system 1 and the target system 2 are physically connected toeach other by a wired or wireless method. For example, the host system 1and the target system 2 can be connected to each other by using a serialport, an Ethernet port, or the like and may be connected to each otherby using an interface such as JTAG for hardware control. When the hostsystem 1 is connected with the target system 2, the host system 1transmits the application program to the target system 2.

The target system 2 is the embedded system. When the application programdeveloped by the host system 1 is installed in the target system 2, thetarget system 2 is operated by the corresponding application program.

FIG. 2 is a block diagram illustrating a configuration of an apparatusfor application testing of an embedded system according to an embodimentof the present invention.

Referring to FIG. 2, a development environment testing apparatus of theembedded target system according to an embodiment of the presentinvention includes a user interface 10, a virtual cross-developmentenvironment manager 20, and a virtual target environment manager 30.Further, the application testing apparatus of the embedded systemfurther includes an information storage 40.

The user interface 10 inputs a source of the application program intothe application testing apparatus of the embedded system provided in thepresent invention and inputs setting information required to develop thecorresponding application program.

The virtual cross-development environment manager 20 configures avirtual cross-development environment required depending on thecharacteristics of the target system 2 and creates the applicationprogram by automatically selecting the virtual cross-developmentenvironment corresponding to the corresponding target system 2.

The virtual target environment manager 30 provides a virtual targetsystem environment for operating or testing the application programcreated by the virtual cross-development environment manager 20 in thevirtual cross-development environment.

Information on a plurality of target systems 2 is stored in theinformation storage 40. Further, setting information of each targetsystem 2 and setting information on the virtual cross-developmentenvironment manager 20 and the virtual target environment manager 30 arestored in the information storage 40.

Referring to FIG. 3, a configuration of the virtual cross-developmentenvironment manager will be described in more detail below. FIG. 3 is ablock diagram illustrating a configuration of a virtualcross-development environment manager according to an embodiment of thepresent invention.

As shown in FIG. 3, the virtual cross-development environment manager 20includes a command analyzer 21, a virtual environment creator 23, anapplication program creator 25, and an application program tester 27.

The command analyzer 21 analyzes a user command inputted through theuser interface 10 and commands the necessary work in accordance with theanalyzed user command.

The virtual environment creator 23 creates a virtual environment forproducing an application program to be driven in the target system 2 andmanages the created virtual environment. Herein, the virtual environmentmeans a virtual cross-development environment created depending on thecharacteristics of the target system 2. At this time, the applicationprogram creator 25 creates the application program in the virtualenvironment created by the virtual environment creator 23.

The application program tester 27 tests whether or not the applicationprogram created from the application program creator 25 can be adoptedin the target system 2. For this, the application program tester 27outputs the application program to the virtual target environmentmanager 30 to execute the corresponding application program. At thistime, in addition to the application program, the application programtester 27 outputs test information including an input value requiredwhile executing the application program and an output valuecorresponding thereto to the virtual target environment manager 30.

The application program tester 27 receives a test result of thecorresponding application program from the virtual target environmentmanager 30. In other words, the application program tester 27 receiveswhether or not an error occurs while executing the correspondingapplication program.

When the error occurs from the test result of the correspondingapplication program, the application program tester 27 outputs the testresult to the outside and allows the user interface 10 to modify thesource of the corresponding application program. Meanwhile, when noerror occurs from the test result of the corresponding applicationprogram, the application program tester 27 provides the correspondingapplication program to the target system 2.

Meanwhile, referring to FIG. 4, the configuration of the virtual targetenvironment manager of FIG. 2 will be described in more detail below.FIG. 4 is a block diagram illustrating a configuration of a virtualtarget environment manager according to an embodiment of the presentinvention.

As shown in FIG. 4, the virtual target environment manager 30 includes avirtual target system controller 31, an emulator 33, and an applicationprogram controller 35.

The virtual target system controller 31 controls operations of theemulator 33 and the application program controller 35, and manipulates avirtual target environment.

The emulator 33 sets a virtual target system environment in the virtualenvironment. Therefore, the virtual target system environment isimplemented in the virtual environment. The application program createdby the application program creator 25 is transferred to the emulator 33.

The application program controller 35 outputs a signal for controllingdriving of the application program to the emulator 33 in accordance witha command of the virtual target system controller 31. As a result, theemulator 33 emulates the application program in the virtual targetsystem environment in accordance with a control command of theapplication program controller 35. The emulator 33 outputs an executionresult of the application program to the application program controller35.

Meanwhile, the virtual target environment manager 30 receives testinformation of the application program when receiving the applicationprogram from the virtual cross-development environment manager 20. Atthis time, the test information received from the application programtester 27 includes an input value and an output value which aregenerated by executing the corresponding application program.

Therefore, the application program controller 35 transfers the inputvalue included in the test information to the emulator 33 and theemulator 33 executes the application program by using the transferredinput value. At this time, the application program controller 35compares the output value included in the test information with anexecution result value of the application program through the emulator33 to verify whether or not the error occurs in the application program.

For example, the application program controller 35 determines that noerror occurs in the application program when the execution result valueof the application program and the output value of the test informationcoincide with each other. On the contrary, the application programcontroller 35 determines that the error occurs in the applicationprogram when the execution result value of the application program andthe output value of the test information do not coincide with eachother.

The application program controller 35 provides the results verifyingwhether or not the error occurs in the application program to theapplication program tester 27.

An operation of the application testing apparatus of the embedded systemaccording to according to an embodiment of the present invention will bedescribed below.

FIGS. 5 to 6 are flowcharts illustrating an operational flow of a methodfor application testing of an embedded system according to an embodimentof the present invention.

First, as shown in FIG. 5, when target system information andinformation required to develop an application program are inputtedthrough a user interface 10, a corresponding testing apparatus definesthe inputted information in an information storage 40 (S100).

Thereafter, when a request for developing a target system 2 is inputtedthrough the user interface 10, it is verified whether or not informationon the requested target system 2 is defined in the information storage40 (S110).

If the request for developing the target system defined at step ‘S100’or a previously registered target system is provided, the testingapparatus calls and provides the information of the corresponding targetsystem 2 defined in the information storage 40 to a virtualcross-development environment manager 20 (S120).

Of course, when the information on the requested target system 2 is notdefined in the information storage 40, the testing apparatus receivesnew information on the corresponding target system 2 through the userinterface 10. At this time, the testing apparatus stores the inputtedinformation in the information storage 40 (S130).

The virtual cross-development environment manager 20 sets virtualenvironment information on the basis of the information of the targetsystem 2 which is called in the information storage 40 or inputtedthrough the user interface 10 (S140) and constructs a virtualenvironment depending on the set information (S150). At this time, thevirtual environment, as a virtual cross-development environment createddepending on the characteristic of the target system 2, is constructedfor each target system to be configured. Therefore, a plurality ofvirtual environments may be provided in the testing apparatus at thesame time.

Thereafter, the virtual cross-development environment manager 20provides the constructed virtual environment information to a virtualtarget environment manager 30.

The virtual target environment manager 30 sets a virtual target systemenvironment in the virtual environment constructed by the virtualcross-development environment manager 20 (S160). At this time, anemulator 33 configures a virtual target system on the basis of theinformation on the target system 2 stored in the information storage 40(S170). Herein, the virtual target system configured by the emulator 33has the same environment as an actual target system 2 and may beprovided in plural at the same time.

Thereafter, as shown in FIG. 6, the user interface 10 receives a sourceof an application program and test information to be adopted in thetarget system 2 from a user (S200). Herein, the test information isconstituted by a pair of an input value and a result value. That is, thetesting apparatus verifies whether or not the application program isnormally executed without an error in the corresponding applicationprogram by comparing an input value included in the test information anda result value corresponding thereto with each other at the time ofexecuting the application program.

The virtual cross-development environment manger 20 transfers the sourceof the application program source inputted at step ‘S200’ to anapplication program creator 25. At this time, the application programcreator 25 creates the application program by using the source of theapplication program inputted through the user interface 10 in a virtualenvironment created by a virtual environment creator 23 (S210).

Thereafter, the application program tester 27 provides the applicationprogram created by the application program creator 25 at step ‘S210’ andthe test information inputted through the user interface 10 at step‘S200’ to the virtual target environment manager 30.

The virtual target environment manager 30 executes the applicationprogram in the virtual target system environment implemented at step‘S170’ (S220).

At this time, an application program controller 35 compares the testinformation with an execution result of the application program toverify whether or not a result value corresponding to the input valueincluded in the test information is acquired (S230). When the resultvalue corresponding to the input value included in the test informationis not outputted from the execution result of the application program,the application program controller 35 determines that an error occurs inthe corresponding application program (S240). The application programcontroller 35 outputs the execution result of the application program toan application program tester 27.

Therefore, the application program tester 27 outputs the executionresult of the application program to the outside and allows the userinterface 10 to modify the source of the application program (S245).When the source of the application program is modified through the userinterface 10, the process returns to step ‘S210’ and the steps from step‘S210’ are performed.

Meanwhile, when the result value corresponding to the input valueincluded in the test information is outputted from the execution resultof the application program, the application program controller 35determines that the corresponding application program is executedwithout an error in the virtual target system environment (S240). Theapplication program controller 35 outputs the execution result of theapplication program to an application program tester 27.

Therefore, the virtual cross-development environment manager 20 createsand provides a final application program to be adopted in the actualtarget system through the application program creator 25 to the actualtarget system 2 (S250).

A user can conveniently develop an application program to be executed invarious embedded systems to be finally produced by using an apparatusand a method for application testing of an embedded system according toan embodiment of the present invention.

Further, when an error occurs in the developed application program, itis possible to easily modify a problem by detecting the problem in avirtual target environment.

As described above, in an apparatus and a method for application testingof an embedded system according to the present invention, theconfiguration and method of the embodiments described as above canlimitatively not be adopted, but the embodiments may be configured byselectively combining all the embodiments or some of the embodiments sothat various modifications can be made.

What is claimed is:
 1. An apparatus for application testing of anembedded system, comprising: a user interface that receives informationof a target system, and test information including an input valuerequired while executing an application program to be adopted in thetarget system and an output value corresponding to the input value; avirtual cross-development environment manager that constructs a virtualenvironment for testing the application program on the basis of theinformation of the target system inputted through the user interface;and a virtual target environment manager that configures a virtualtarget system corresponding to the target system in the virtualenvironment constructed by the virtual cross-development environmentmanager and executes the application program in the virtual targetsystem by using the input value inputted through the user interface, andverifies whether or not an error occurs in the application program bycomparing an execution result value of the application program with theoutput value inputted through the user interface.
 2. The apparatus forapplication testing of an embedded system according to claim 1, whereinthe virtual cross-development environment manager includes anapplication program creator that creates the application program in thevirtual environment by using a source of the application programinputted through the user interface.
 3. The apparatus for applicationtesting of an embedded system according to claim 1, wherein the virtualcross-development environment manager further includes an applicationprogram tester that outputs a test result of the application program andcontrols to perform an operation corresponding to the test result. 4.The apparatus for application testing of an embedded system according toclaim 1, wherein the virtual target environment manager includes anemulator that emulates the application program created by the virtualcross-development environment manager in the virtual target system. 5.The apparatus for application testing of an embedded system according toclaim 1, wherein the virtual cross-development environment managermodifies the source of the application program or transmits thecorresponding application program to the target system depending onwhether or not the error occurs in the application program.
 6. Theapparatus for application testing of an embedded system according toclaim 1, wherein the virtual cross-development environment managerconstructs a plurality of virtual environments corresponding to aplurality of target systems, respectively.
 7. The apparatus forapplication testing of an embedded system according to claim 1, furthercomprising: an information storage that stores environment settinginformation of the target system and information on the applicationprogram.
 8. A method for application testing of an embedded system,comprising: receiving information of a target system, and testinformation including an input value required while executing anapplication program to be adopted in the target system and an outputvalue corresponding to the input value; constructing a virtualenvironment for testing the application program on the basis of theinputted information of the target system; setting a virtual targetsystem environment corresponding to the target system in the virtualtarget system environment and executing the application program in thevirtual target system environment by using the inputted input value; andverifying whether or not an error occurs in the application program inaccordance with an execution result at the executing the applicationprogram by comparing an execution result value of the applicationprogram with the inputted output value.
 9. The method for applicationtesting of an embedded system according to claim 8, further comprising:creating the application program in the virtual environment by receivinga source of the application program adopted in the target system. 10.The method for application testing of an embedded system according toclaim 8, further comprising: modifying the source of the applicationprogram when the error occurs in the application program from theverification result at verifying whether or not the error occurs in theapplication program.
 11. The method for application testing of anembedded system according to claim 10, further comprising: reverifyingwhether or not the error occurs in an application program created byadopting a source of the application program modified at modifying thesource of the application program.
 12. The method for applicationtesting of an embedded system according to claim 8, further comprising:transmitting the corresponding application program to the target systemwhen no error occurs in the application program from the verificationresult at verifying whether or not the error occurs in the applicationprogram.
 13. The method for application testing of an embedded systemaccording to claim 8, wherein in constructing the virtual environment, aplurality of virtual environments corresponding to target systems areconstructed.